home *** CD-ROM | disk | FTP | other *** search
Java Source | 1996-12-07 | 3.7 KB | 117 lines |
- /*
- A basic extension of the java.awt.Frame class
- */
-
- import java.awt.*;
-
- public class LoanCalc extends Frame {
- void CalcButton_Clicked(Event event) {
- // to do: place event handler code here.
-
- double Principal, InterestRate, LengthLoan, MonthlyPay, IntDec, NumMonths;
-
- try {
- Principal = ( Double.valueOf(PrincipalField.getText() ) ).doubleValue();
- InterestRate = ( Double.valueOf(InterestRateField.getText()) ).doubleValue();
- LengthLoan = ( Double.valueOf(LengthLoanField.getText() ) ).doubleValue();
- } catch (NumberFormatException e) {return;}
-
- if (Principal < 0 || InterestRate < 0 || LengthLoan < 0) return;
-
- IntDec = InterestRate / (12.0 * 100.0);
- NumMonths = LengthLoan * 12.0;
- MonthlyPay = Principal * (IntDec / (1.0 - Math.pow((1.0 + IntDec), -NumMonths)));
-
- MonthlyPayField.setText(String.valueOf(MonthlyPay));
- }
-
-
- public LoanCalc() {
-
- //{{INIT_CONTROLS
- setLayout(null);
- addNotify();
- resize(insets().left + insets().right + 395,insets().top + insets().bottom + 248);
- keyPressManagerPanel1 = new symantec.itools.awt.KeyPressManagerPanel();
- keyPressManagerPanel1.setLayout(null);
- keyPressManagerPanel1.reshape(insets().left + 0,insets().top + 0,395,248);
- add(keyPressManagerPanel1);
- keyPressManagerPanel1.setAutoTabState(true);
- label1 = new java.awt.Label("Principle =");
- label1.reshape(15,33,105,16);
- keyPressManagerPanel1.add(label1);
- PrincipalField = new java.awt.TextField(8);
- PrincipalField.reshape(192,29,72,20);
- keyPressManagerPanel1.add(PrincipalField);
- label2 = new java.awt.Label("Interest Rate =");
- label2.reshape(15,67,117,18);
- keyPressManagerPanel1.add(label2);
- InterestRateField = new java.awt.TextField(8);
- InterestRateField.reshape(192,68,72,20);
- keyPressManagerPanel1.add(InterestRateField);
- label3 = new java.awt.Label("Length of Loan (years) =");
- label3.reshape(15,106,159,18);
- keyPressManagerPanel1.add(label3);
- LengthLoanField = new java.awt.TextField(8);
- LengthLoanField.reshape(192,106,72,20);
- keyPressManagerPanel1.add(LengthLoanField);
- label4 = new java.awt.Label("Monthly Payment =");
- label4.reshape(15,145,141,18);
- keyPressManagerPanel1.add(label4);
- MonthlyPayField = new java.awt.TextField(8);
- MonthlyPayField.setEditable(false);
- MonthlyPayField.disable();
- MonthlyPayField.reshape(192,145,72,20);
- MonthlyPayField.setBackground(Color.lightGray);
- keyPressManagerPanel1.add(MonthlyPayField);
- CalcButton = new java.awt.Button("Calculate");
- CalcButton.reshape(288,102,84,25);
- keyPressManagerPanel1.add(CalcButton);
- setTitle("Loan Calculations");
- setResizable(false);
- //}}
-
- PrincipalField.requestFocus();
-
- //{{INIT_MENUS
- //}}
- }
-
- public LoanCalc(String title) {
- this();
- setTitle(title);
- }
-
- public synchronized void show() {
- move(50, 50);
- super.show();
- }
-
- public boolean handleEvent(Event event) {
- if (event.id == Event.WINDOW_DESTROY) {
- hide(); // hide the Frame
- return true;
- }
- if (event.target == CalcButton && event.id == Event.ACTION_EVENT) {
- CalcButton_Clicked(event);
- }
- return super.handleEvent(event);
- }
-
- //{{DECLARE_CONTROLS
- symantec.itools.awt.KeyPressManagerPanel keyPressManagerPanel1;
- java.awt.Label label1;
- java.awt.TextField PrincipalField;
- java.awt.Label label2;
- java.awt.TextField InterestRateField;
- java.awt.Label label3;
- java.awt.TextField LengthLoanField;
- java.awt.Label label4;
- java.awt.TextField MonthlyPayField;
- java.awt.Button CalcButton;
- //}}
-
- //{{DECLARE_MENUS
- //}}
- }
-